home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / share / pyshared / launchpadbugs / blueprintbase.py < prev    next >
Text File  |  2008-08-27  |  6KB  |  162 lines

  1. import lpconstants as lpc
  2. import utils
  3.  
  4. from lphelper import LateBindingProperty
  5.  
  6. class BlueprintInfo(object):
  7.     def __init__(self, priority, spec, title, url, design, delivery, assignee, project, mentorship):
  8.         self.__priority = lpc.BLUEPRINT.PRIORITY.get(priority, None)
  9.         self.__spec = spec
  10.         self.__title = title
  11.         self.__url = url
  12.         self.__status = lpc.BLUEPRINT.STATUS.get(design, None)
  13.         self.__delivery = lpc.BLUEPRINT.DELIVERY.get(delivery, None)
  14.         self.__assignee = assignee
  15.         self.__project = project
  16.         self.__mentorship = mentorship
  17.         
  18.     @property
  19.     def url(self):
  20.         return self.__url
  21.         
  22.     @property
  23.     def spec(self):
  24.         return self.__spec
  25.     
  26.     @property
  27.     def title(self):
  28.         return self.__title
  29.         
  30.     @property
  31.     def priority(self):
  32.         return self.__priority
  33.         
  34.     @property
  35.     def status(self):
  36.         return self.__status
  37.     design = definition = status
  38.         
  39.     @property
  40.     def delivery(self):
  41.         return self.__delivery
  42.     implementation = delivery
  43.         
  44.     @property
  45.     def assignee(self):
  46.         return self.__assignee
  47.         
  48.     @property
  49.     def project(self):
  50.         return self.__project
  51.     series = product = project
  52.     
  53.     @property
  54.     def mentorship(self):
  55.         return self.__mentorship
  56.         
  57.     def __repr__(self):
  58.         return "<BlueprintInfo %s>" %self.spec
  59.     def __str__(self):
  60.         return "[blueprint '%s' %s: %s]" %(self.spec, self.assignee or "", self.priority)
  61.         
  62.         
  63.         
  64.         
  65. class LPBluePrint(object):
  66.     def __init__(self, url, connection):
  67.         self.__url = utils.valid_lp_url(url,utils.BLUEPRINT)
  68.         self._connection = connection
  69.         
  70.     @property
  71.     def url(self):
  72.         return self.__url
  73.         
  74.     def __repr__(self):
  75.         return "<BlueprintInfo %s>" %self.spec
  76.     def __str__(self):
  77.         return "[blueprint '%s' %s: %s]" %(self.spec, self.assignee or "", self.priority)
  78.         
  79.     def get_spec(self):
  80.         raise NotImplementedError, 'this method must be implemented by a concrete subclass'
  81.     spec = LateBindingProperty(get_spec, doc="returns short name of a blueprint") 
  82.  
  83.     def get_title(self):
  84.         raise NotImplementedError, 'this method must be implemented by a concrete subclass'
  85.     title = LateBindingProperty(get_title, doc="returns title of a blueprint")     
  86.     
  87.     def get_priority(self):
  88.         raise NotImplementedError, 'this method must be implemented by a concrete subclass'
  89.     priority = LateBindingProperty(get_priority, doc="returns priority of a blueprint")
  90.     
  91.     def get_status(self):
  92.         raise NotImplementedError, 'this method must be implemented by a concrete subclass'
  93.     status = LateBindingProperty(get_status, doc="returns status of a blueprint")
  94.     design = definition = status     
  95.     
  96.     def get_delivery(self):
  97.         raise NotImplementedError, 'this method must be implemented by a concrete subclass'
  98.     delivery = LateBindingProperty(get_delivery, doc="returns state of implementation of a blueprint")
  99.     implementation = delivery
  100.     
  101.     def get_assignee(self):
  102.         raise NotImplementedError, 'this method must be implemented by a concrete subclass'
  103.     assignee = LateBindingProperty(get_assignee, doc="returns assignee of a blueprint")
  104.     
  105.     def get_drafter(self):
  106.         raise NotImplementedError, 'this method must be implemented by a concrete subclass'
  107.     drafter = LateBindingProperty(get_drafter, doc="returns drafter of a blueprint")
  108.     
  109.     def get_approver(self):
  110.         raise NotImplementedError, 'this method must be implemented by a concrete subclass'
  111.     approver = LateBindingProperty(get_approver, doc="returns approver of a blueprint")
  112.     
  113.     def get_project(self):
  114.         raise NotImplementedError, 'this method must be implemented by a concrete subclass'
  115.     project = LateBindingProperty(get_project, doc="returns project a blueprint")
  116.     product = project
  117.          
  118.     def get_mentors(self):
  119.         raise NotImplementedError, 'this method must be implemented by a concrete subclass'
  120.     mentorship = LateBindingProperty(get_mentors, doc="returns available mentors of a blueprint")
  121.          
  122.     def get_overview(self):
  123.         raise NotImplementedError, 'this method must be implemented by a concrete subclass'
  124.     overview = LateBindingProperty(get_overview, doc="returns overview of a blueprint")
  125.          
  126.     def get_full_spec(self):
  127.         raise NotImplementedError, 'this method must be implemented by a concrete subclass'
  128.     full_spec = LateBindingProperty(get_full_spec, doc="returns url to the full spec")
  129.          
  130.     def get_whiteboard(self):
  131.         raise NotImplementedError, 'this method must be implemented by a concrete subclass'
  132.     whiteboard = LateBindingProperty(get_whiteboard, doc="returns whiteboard of a blueprint")
  133.          
  134.     def get_sprints(self):
  135.         raise NotImplementedError, 'this method must be implemented by a concrete subclass'
  136.     sprints = LateBindingProperty(get_sprints, doc="returns sprints related to a blueprint")
  137.          
  138.     def get_subscribers(self):
  139.         raise NotImplementedError, 'this method must be implemented by a concrete subclass'
  140.     subscribers = LateBindingProperty(get_subscribers, doc="returns subscribers to a blueprint")
  141.     
  142.     def get_subscriptions_category(self, type):
  143.         raise NotImplementedError, 'this method must be implemented by a concrete subclass'
  144.          
  145.     def get_lifecycle(self):
  146.         raise NotImplementedError, 'this method must be implemented by a concrete subclass'
  147.     lifecycle = LateBindingProperty(get_lifecycle, doc="returns lifecycle info of a blueprint")
  148.          
  149.     def get_related_bugs(self):
  150.         raise NotImplementedError, 'this method must be implemented by a concrete subclass'
  151.     related_bugs = LateBindingProperty(get_related_bugs, doc="returns related bugs to a blueprint")
  152.          
  153.     def get_feedback_request(self):
  154.         raise NotImplementedError, 'this method must be implemented by a concrete subclass'
  155.     feedback_request = LateBindingProperty(get_feedback_request, doc="returns requested feedbacks")
  156.         
  157.         
  158.         
  159.         
  160.         
  161.         
  162.